Peer-to-peer telecommunications systems allow the user of a device, such as a personal computer, to make telephone calls across a computer network such as the Internet. These systems are beneficial to the user as they are often of significantly lower cost than traditional telephony networks, such as fixed line or mobile networks. This may particularly be the case for long distance calls. These systems may utilise voice over internet protocol (“VoIP”) over an existing network (e.g. the Internet) to provide these services, although alternative protocols can also be used. To use a peer-to-peer telephony service, the user must install and execute client software on their device. The client software provides the VoIP connections as well as other functions such as registration and authentication.
The client software executed on the device of the user displays a list a contacts that the user has stored. These contacts may be called using the peer-to-peer telecommunications system by selecting the contact and clicking on a “call” button using a pointing device. The client may also provide other means of communicating with the contact in the contact list, such as through chat messages or video calling. To enter a contact in the contact list, the user (referred to as user A in this example) must either know the username of the contact they wish to add (called user B in this example), or search for the contact using the full name (or other details such as email address). After finding the contact, user A can choose to add the contact of user B to their contact list. An invitation message is then transmitted to the user terminal of user B, stating that user A has added them to their contacts, thereby authorizing the user B to contact user A. User B can give user A authorization to contact them by accepting the invitation, or can prevent user A from contacting them by rejecting the invitation. If the invitation is accepted, the contact for user B is activated in user A's contact list, and user A will be able to view the status of user B (known as the contact's presence information). For example, user A will be able to see if user B's status is set to online, offline, do not disturb, or another status set by the contact.